/*
 * @lc app=leetcode.cn id=817 lang=golang
 *
 * [817] 链表组件
 */
package Solutions

// @lc code=start
/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
type E struct{}

func numComponents(head *ListNode, nums []int) int {
	// var numsMp = make(map[int]E, len(nums))
	// for _, v := range nums {
	// 	numsMp[v] = E{}
	// }
	// p := head
	// var last = -1
	// var ans = 0
	// for ; p != nil; p = p.Next {
	// 	if _, ok := numsMp[p.Val]; !ok {
	// 		if last != -1 && last != -2 {
	// 			ans++
	// 		} else {
	// 			last = -1
	// 		}
	// 	} else {
	// 		if last == -1 {
	// 			last = p.Val
	// 		} else {
	// 			if p.Val-last == 1 {
	// 				last += 1
	// 			} else {
	// 				last = -2
	// 			}
	// 		}

	// 	}
	// 	if last != -1 && last != -2 {
	// 		ans++
	// 	}
	// }
	return 0
}

// @lc code=end
